#pragma once

#include <iostream>
#include <cstring>
#include <string>
#include <cassert>

#include <fstream>

class Util
{
public:
    // 得到一行
    // XXXX XXX XXX\r\nYYYYY
    static std::string getOneLine(std::string &buffer, const std::string &sep)
    {
        auto pos = buffer.find(sep);
        if (pos == std::string::npos)
            return "";
        std::string sub = buffer.substr(0, pos);
        // buffer.erase(0, sub.size() + sep.size());
        return sub;
    }

    // 读文件
    // static bool readFile(const std::string resource, std::string *out)
    static bool readFile(const std::string resource, char* buffer, size_t size)
    {
        // std::ifstream in(resource);
        // if (in.is_open() == false)
        //     return false; // resouce not found
        // getline 函数是读取文本文件的，但是音频和图片是二进制文件所以得改用下面的形式读取的哦
        // std::string line;
        // while (std::getline(in, line))
        // {
        //     *out += line;
        // }
        
        // 得用下面的方式去读取二进制文件的哦
        std::ifstream in(resource, std::ios::binary);
        if (in.is_open() == false)
            return false; // resouce not found

        in.read(buffer, size);

        in.close();
        return true;
    }

    // private:
};